package com.swu.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.swu.common.Result;
import com.swu.dto.RuleAddDTO;
import com.swu.dto.RuleQueryDTO;
import com.swu.dto.RuleUpdateDTO;
import com.swu.po.ValidationRule;
import com.swu.vo.ValidationRuleVO;

/**
 * <p>
 * 病案首页校验规则表 服务类
 * </p>
 *
 * @author 勾新杰
 * @since 2025-06-08
 */
public interface IValidationRuleService extends IService<ValidationRule> {
    
    /**
     * 添加规则
     * @param ruleAddDTO 规则添加参数
     * @return 操作结果
     */
    Result<ValidationRuleVO> addRule(RuleAddDTO ruleAddDTO);
    
    /**
     * 更新规则
     * @param ruleUpdateDTO 规则更新参数
     * @return 操作结果
     */
    Result<ValidationRuleVO> updateRule(RuleUpdateDTO ruleUpdateDTO);
    
    /**
     * 删除规则
     * @param id 规则ID
     * @return 操作结果
     */
    Result<Void> deleteRule(Long id);
    
    /**
     * 获取规则详情
     * @param id 规则ID
     * @return 规则详情
     */
    Result<ValidationRule> getRule(Long id);
    
    /**
     * 分页查询规则
     * @param queryDTO 查询参数
     * @return 分页结果
     */
    Result<Page<ValidationRuleVO>> listRules(RuleQueryDTO queryDTO);
}
